#pragma once 

#include "DebugTools.h"
#include "MessageHandler.h"
#include "GameObject.h"
#include "Vector2D.h"
#include <windows.h>
#include <mmsystem.h>


// Direct X includes

// Don't include DirectX error API unless it's needed.
#if defined(_DEBUG)
#include <DxErr.h>
#ifndef D3D_DEBUG_INFO
#define D3D_DEBUG_INFO
#endif
#endif

//// If Direct3D fails this check, the most common cause is that the current machine's hardware doesn't support hardware vertex processing
#if defined(_DEBUG)
#ifndef DXVerify
#define DXVerify(exp) { HRESULT hr = (exp);\
	if( FAILED(hr) && SignalErrorHandler(#exp, __FILE__, __LINE__, "DX Error %s", DXGetErrorDescription(hr) ) )\
	{ G_DEBUG_BREAK; } }
#endif
#else
#ifndef DXVerify
#define DXVerify(x) (x)
#endif
#endif
#include <d3d9.h>
#include <d3dx9.h>